home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / ACORNUSERS / EMULATOR / MESS / RISCOS.txt < prev    next >
Text File  |  1998-08-17  |  17KB  |  459 lines

  1.                     M.E.S.S.  -  Multi-Emulator Super System
  2.                       Copyright (C) 1998  by the MESS team
  3.             ARM/RISC OS    version 0.02b4, ported by Gareth S. Long
  4.  
  5.  
  6.  
  7. Last updated: (18 Aug 1998)
  8.  
  9. ** PLEASE READ THE CHANGELOG AT THE BOTTOM OF THIS FILE FOR IMPORTANT
  10. UPGRADE INFORMATION, ESPECIALLY IF YOU ARE NOTICING DIFFERENCES BETWEEN
  11. THE CURRENT MAME AND YOUR LAST VERSION **
  12.  
  13. ** PLEASE ALSO READ THE ACCOMPANYING README.TXT AND WHATSNEW.TXT RELATING
  14. TO MAME, ESPECIALLY THE BITS AT THE TOP IN CAPITAL LETTERS, IN MUCH THE
  15. SAME WAY AS YOU ARE READING THIS NOW **
  16.  
  17. AND READ THEM EVERY TIME THIS FILE IS UPDATED.
  18.  
  19. *** PLEASE, PLEASE, PLEASE MAKE SURE YOU ACTUALLY DID THE ABOVE ***
  20.  
  21. ... I'LL BE ABLE TO TELL...
  22.  
  23. One more note: People doing magazine articles and things; please let me know
  24. in advance! Publishers lead times mean you're probably writing a retro retro
  25. into the world of retro gaming by the magazine hits the subscribers even. I
  26. can give accurate information on events to coincide correctly with
  27. publication dates. 
  28.  
  29. What is it?
  30. ===========
  31.  
  32. MESS is a multiple console/computer system emulator. It is largely a
  33. derivitave of the MAME project, but geared away from 'only' arcade machine
  34. emulation. In many ways, technically, there are similarities, but there are
  35. enough differences to warrant a different style of project to handle some of
  36. the different characteristics, such as keyboards, floppy drives, serial
  37. ports, and the like.
  38.  
  39.  
  40. MESS serves a a documentation project, like MAME, though one of the
  41. fundamental differences between MAME and MESS is the relative complexity of
  42. the drivers - under MAME< one driver typically runs one specific arcade
  43. machine type, MESS system drivers are responsible for running literally
  44. thousands of game/computer images in themselves, and evolve more slowly.
  45.  
  46. MAME works on the principle of multiple drivers for specific arcade machines,
  47. 'MAME pacman' runs pacman, for example. MESS works with 'system drivers',
  48. which emulate a complete console/computer system. Ruynning a system on it's
  49. own is not often very exiting - ifyou're lucky, you'll end up at the startup
  50. prompt on a computer system, or in the case of a console, you get little or
  51. nothing - as you're 'emulating' turning a machine on without it's cartridge
  52. ROMs.
  53.  
  54. In order to get the emulation to do something interesting, you'll need some
  55. Images for the system you're trying to use - in the case of the Genesis
  56. driver, your images are Genesis ROM images. In the case of the TRS80 driver,
  57. your images are TRS80 floppy disc images, and so on.
  58.  
  59. For most computers and some consoles, you'll need to get hold of a copy of
  60. the BIOS ROM(s). Not having ehse us like trying to turen the original machine
  61. on, with the BIOS ROMs removed.
  62.  
  63.  
  64. What do I need?
  65. ===============
  66.  
  67. Best results are obtained with a StrongARM based Risc PC. Sorry, but versions
  68. of MESS for other machines are only really usable on a midrange pentiums or similarly
  69. specced machine, or above for some systems. Having said that, ARM 710 users
  70. shouldn't have much of a problem with some of the simpler systems. I am committed to making
  71. MAME more usable on lower-ended machines. Honestly:
  72.  
  73. MESS will work on older machines, but the palette will be completely wrong at
  74. the moment for reasons I will describe below. Expect this to change soon,
  75. however.
  76.  
  77. Systems, Images, getting Images
  78. ===============================
  79.  
  80. The 'Images' has a different meaning depending on which system in MESS you
  81. are dealing with. Either way, these are fairly widely available via the
  82. internet. In order to use the images legally, you should own the image on
  83. it's original media, and you shouldn't just go picking them up via sites like
  84. http://www.davesclassics.com or just doing a web search... so I'm sure you
  85. won't - though it's worth checking to see if the images have been released
  86. into the public domain. Additionally, lots of 'home brew' titles are
  87. available for some of the systems supported under MESS.
  88.  
  89.  
  90.  
  91. Organising MESS
  92. ===============
  93.  
  94. This will change a great deal as frontends for MESS are developed and put
  95. into play, and als0o as MAME itself evolves..
  96.  
  97. Create a directory called MESS somewhere on your hard disc. I *strongly*
  98. recommend that this directory be an image filing system archive (zipfile or
  99. TBAFS archive will do nicely, as will a DOSFS partition.. public domain
  100. utilities like X files etc also work well. You can even use StrongHelp to
  101. archive the files inside a new StrongHelp manual). This allows you to use
  102. more than 77 filenames in a directory, and also allows you to use filenames
  103. greater than 10 characters, which some games need)
  104.  
  105. Unpack the contents of the MESS archive into it.
  106.  
  107. Create two blank directories, called 'CFG' and 'HI', alongside the ESS
  108. executable.
  109.  
  110. Unpack any images you have downloaded into directory names which match the
  111. game name (like 'sonic/smd','elite/nes' etc). These should be in the 'Images' subdirectory within
  112. your MESS directory. Your resulting directory structure should look thus
  113. (names in square brackets are directory names):
  114.  
  115.                         [MESS] (image filing system archive)
  116.                               \
  117.                                  \    
  118. MAME (executable)  DACSptX  EmUtils  [Images]               [CFG] [HI] [... etc]
  119.                                      |
  120.                                  |----------|
  121.                                  |            |                     |
  122.                               sonic/smd    elite/nes             ...
  123.                               sonic3/smd   mario/nes             ...
  124.                               ewormjim/smd sonic/sms             ...
  125.                               ...             ...                ...
  126.  
  127.  
  128. To run MESS, set your current directory to that of the MAME image filing
  129. system ardchive (double clicking on the provided SetDir obeyfile will do this
  130. for you).
  131.  
  132.  
  133. Usage
  134. -----
  135.  
  136. MESS system [image names] [options]
  137.  
  138. for example
  139.  
  140. MESS nes zelda/nes
  141.     will run Zelda on the Nintendo
  142. MESS coleco dkong/rom -nosound
  143.     will run Donkey Kong on the Colecovision without sound
  144. MESS trs80 boot/dsk arcade1.dsk
  145.     will run the TRS80 with two disks loaded
  146. MESS cgenie games1/dsk
  147.     will run the Colour Genie with one disk iamge loaded
  148. MESS kaypro k1
  149.     will run the Kaypro 2x using a set of images defined
  150.     by an alias 'k1' (see below).
  151.  
  152. options:
  153.  
  154. -resolution XxY (default: autoselect)
  155.     X and Y are width and height (ex: '-800x600')
  156.     MESS goes some lengths to autoselect a good resolution.
  157.     You can override MESS's choice with this option.
  158.     You can use -XxY (e.g. -800x600) as a shortcut. Frontend
  159.     authors are advised to use -resolution XxY, however.
  160.     If you get an error 'XxY not supported', you probably
  161.     need Scitech's Display Doctor, which provides the 'de facto'
  162.     standard VESA implementaion (http://www.scitechsoft.com)
  163.     Some common resolutions are 320x200, 320x240, 400x300,
  164.     512x384, 640x400, 640x480, 800x600 and 1024x768.
  165.  
  166. -skiplines N
  167.     since many games use a screen taller than 240 lines,
  168.     they won't fit in the screen. The parameter 'N' sets
  169.     the initial number of lines to skip at the top of
  170.     the screen. You can adjust the position while the game
  171.     is running using the PGUP and PGDN keys.
  172.  
  173. -skipcolumns N
  174.     same as above but moves the screen horizontally. This is rarely
  175.     used since the screen usually fits in the screen. To adjust the
  176.     position at run time, use SHIFT + PGUP/PGDN.
  177.  
  178. -double / -nodouble (default: auto)
  179.     use nodouble to disable pixel doubling (faster,
  180.     but smaller picture). Use double to force pixel doubling when
  181.     the image doesn't fit in the screen (you'll have to use PGUP and
  182.     PGDN to scroll).
  183.  
  184. -depth n      (default: 8)
  185.     Some games might need 65k color modes to get accurate graphics.
  186.     You might want to use -depth 16 for that case.
  187.  
  188. -h n
  189.     Use hz to force a specific framerate when attempting to set a RISC
  190.     OS mode, -1 means 'any framerate will do'. If the RISC OS port of
  191.     MESS cannot find a set framerate for a given resolution, it will
  192.     search for another resolution.
  193.  
  194. -vsync / -novsync (default: -novsync)
  195.     syncronize video display with the video beam instead of using
  196.     the timer. This option can only be used if the selected video
  197.     mode has an appropriate refresh rate; MESS will otherwise refuse
  198.     to start, telling you the actual refresh rate of the video mode,
  199.     and the rate it should have.
  200.     If you are using a tweaked mode, MESS will try to automatically
  201.     pick the correct setting for refresg frequency; you can still override it
  202.     using the -hz option.
  203.  
  204. -sr n
  205.     set the audio sample rate. The default is 22050. Smaller values
  206.     (e.g. 11025) will cause lower audio quality but faster emulation
  207.     speed. Higher values (e.g. 44100) will cause higher audio quality
  208.     but slower emulation speed.
  209.  
  210. -sb n
  211.     set the audio sample bits, either 8 or 16. The default is 8.
  212.     16 will increase quality with certain games, but decrease speed.
  213.     This is a software setting, not hardware. The sound card will
  214.     always be used in 16 bit mode, if possible.
  215.  
  216.  
  217. -fm / -nofm (default: -nofm)
  218.     use the SoundBlaster OPL chip for music emulation
  219.     in some games. Under RISC OS, this will disable FM as a SoundBlaster OPL
  220.     chip is not available to anything less than a Phoebe/Smelly Cat 2100.
  221.  
  222. -log
  223.     create a log of machine startup information, illegal memory
  224.     accesses and other details in ERROR/LOG
  225.     The amount of output depends on verbosity defined in the
  226.     drivers and is set relatively low for the release version.
  227.  
  228. -help, -?
  229.     display current mess version and copyright notice
  230.  
  231. -list
  232.     display a list of currently supported games
  233.  
  234. -listfull
  235.     display a list of game directory names + description
  236.  
  237. -listdetails
  238.     display a detailed list of drivers and the hardware they use
  239.  
  240. -mouse / -nomouse (default: -mouse)
  241.     enable/disable mouse support
  242.  
  243. -frameskip n
  244.     skip frames to speed up the emulation. For example, if the game
  245.     normally runs at 60 fps, "-frameskip 1" will make it run at 30
  246.     fps, and "-frameskip 2" at 20 fps. Use F11 to check the speed
  247.     your computer is actually reaching. If the game is too slow,
  248.     increase the frameskip value. Note that this setting can also
  249.     affect audio quality (some games sound better, others sound
  250.     worse).  Maximum value for frameskip is 3.
  251.  
  252. -cheat
  253.     The cheat system is disabled by default. Use this switch to
  254.     turn it on. Read cheat.doc for more information on how to
  255.     use the cheat system.
  256.  
  257. -debug
  258.     Activate the integrated debugger. During the emulation, press
  259.     tilde to enter the debugger.
  260.  
  261. -record name
  262.     Record joystick input on file INP/name.inp.
  263.  
  264. -playback name
  265.     Playback joystick input from file INP/name.inp.
  266.  
  267. -ignorecfg
  268.     ignore mess.cfg and start with the default settings
  269.  
  270.  
  271. The following keys work in all emulators:
  272. Tab
  273.     Enter configuration menu. Press Tab or Esc to get back to the
  274.     emulation.
  275.  
  276. ScrollLock
  277.     Pause
  278.  
  279. F5
  280.     Show the game graphics. Use cursor keys to change set/color,
  281.     F5 or Esc to return to the emulation.
  282.  
  283. F7
  284.     Calibrate the joystick
  285.  
  286. F8
  287.     Change frame skip on the fly (60, 30, 20, or 15)
  288.  
  289. F9
  290.     Reset the emulation
  291.  
  292. F10
  293.     Toggle speed throttling
  294.  
  295. F11
  296.     Toggle speed display
  297.  
  298. F12
  299.     Save a screen snapshot. This is currently undefined whilst we work
  300.     on a uniform method of saving (and it'll probably be PNG).
  301.  
  302. numpad +/-
  303.     Volume adjust
  304.  
  305. Left shift and numpad +/-
  306.     Gamma correction adjust
  307.  
  308. Shift-F12
  309.     Exit emulator
  310.  
  311. Format of the configuration file mess.cfg:
  312.  
  313. This file defines general (and optionally driver specific) settings
  314. for various aspects of the emulation.
  315. It contains sections, ie. names enclosed in square brackets like
  316. [config], [directory] or [drivername]. These sections contain one or
  317. more lines of the form 'variable = value'. The value can be either
  318. text or numeric, depending on the option. Boolean options accept
  319. 'yes', 'no'. Some options accept 'auto' to let MESS decide what to choose.
  320. The following settings are recognized in the [config] section:
  321.  
  322. scanlines = yes|no        same as -scanlines / -noscanlines command line options
  323. double = auto|yes|no    same as -double / -nodouble command line options
  324. vsync = yes|no            same as -vsync / -novsync command line options
  325. syncedtweak = yes
  326. vesa = no                same as -vesa / -novesa command line options
  327. ntsc = no                'yes' is the same as -ntsc command line option
  328. vgafreq = 0                same as -vgafreq n command line option
  329. depth = 8|16            same as -depth n command line option
  330. skiplines = 0            same as -skiplines n command line option
  331. skipcolumns = 0         same as -skipcolumns n command line option
  332. gamma = G                set     gamma correction G = 0.5 - 2.0
  333. frameskip = 0|1|2|3        set default frame skip value
  334. soundcard = n            select a soundcard (-1 always ask, 0 none, 1 - 7 set)
  335. oplfm = yes|no            use soundblaster OPL chip (same as -fm / -nofm options)
  336. samplerate = n            same as -samplerate n (or -sr n) command line option
  337. samplebits = n            same as -samplebits n (or -sb n) command line option
  338. mouse = yes|no            same as -mouse / -nomouse command line options
  339. joytype = n                select a joystick (-1 none, 0 - 5 select )
  340. cheat = yes|no            'yes' is the same as -cheat command line option
  341. debug = yes|no            only for developers (same as -debug option)
  342. resolution = auto|XxY    select a resolution (automatic or fixed X by Y pixels)
  343.  
  344. It is possible to override this global settings for every driver in it's
  345. own section. If you want eg. the Vectrex driver to use a 1024x768 resolution,
  346. a gamma correction of 1.5 and no sound you would add a section:
  347.  
  348. [vectrex]
  349. resolution = 1024x768
  350. gamma = 1.5
  351. soundcard = 0
  352.  
  353. Another option for the driver specific sections is 'aliases'. It allows you
  354. to specify a set of ROMs or disk images with a short name, eg.:
  355.  
  356. [trs80]
  357. arcade = boot.dsk arcade1.dsk arcade2.dsk arcade3.dsk
  358.  
  359. Now you can call 'mess trs80 arcade' and have all four disks inserted.
  360.  
  361.  
  362. Miscallanea
  363. ===========
  364.  
  365. Unless you specify otherwise, MESS will attempt to pick the correct display
  366. resolution for you given your monitor type, and choose the next nearest if
  367. that fails. Most games require 224x288. holding down CONTROL during startup
  368. will allow you to see some of the diagnostic messages giving information on
  369. what mode MESS found suitable.
  370.  
  371. On a Risc PC, you can define your own modes using !MakeModes to make the best
  372. use of your monitor.
  373.  
  374. The best method of setting up perfect modes for MAME are as follows:
  375.  
  376. 1) Get a copy of something like !MakeModes, !CustomVDU or whatever, from any
  377. good Acorn-related FTP site (!MakeModes is available from ftp.acorn.co.uk).
  378.  
  379. 2) Define a mode of either the exact size you need (eg 224x288) or one with
  380. *twice* the Y resolution so that you can use -double (and -scanlines if you
  381. like) - modes defined this way are likely to have a lower refresh rate and
  382. might perform a little better.
  383.  
  384. It doesn't take an experienced modesman to define up a mode that'll work fine
  385. with your monitor type - just fiddle with a resolution reasonably close to
  386. what you're aiming for. Pass your examples of professional modesmanship to me
  387. and I'll include them with the distribution, I shall provide some
  388. ready-made monitor definition files I've defined for common monitortypes
  389. soon.
  390.  
  391.  
  392.  
  393. History
  394. =======
  395.  
  396. A list of doings that have been transpiring, from the beginning:
  397.  
  398. [Undated]
  399.  
  400. Pre-MESS release development by mysel and the rest of the MESS team.
  401.  
  402.  
  403. [03 Jun 1998] (MESS 0.01)
  404.  
  405. First release of MESS, for any platform.. This file is extremely prelininary,
  406. as I have to update both my MAME and MESS documents to achieve some level of
  407. synchronicity. This, in addition to the latest RISC OS MAME readme, should
  408. give you some idea as what to do. Any problems, contact me:
  409. gatch@elecslns.demon.co.uk
  410.  
  411. Note that the keyboard system is undergoing a lot of revision at the moment,
  412. due to it having to handle computers!
  413.  
  414. [17-Aug-98] (MESS 0.02 beta 4)
  415.  
  416. Various enhancements and bugfixes. Keyboard support should be a lot better,
  417. also note changes in the default key mappings for some functions, notably
  418. exitting the emulator!
  419.  
  420. [18-Aug-98]
  421.  
  422. Various documentation changes.
  423.  
  424. There are now 10 levels of frameskip available (0-9).
  425. Frameskip value is shown within the speed indicator.
  426.  
  427. Please note that as beta 4 was made available, I was halfway through writing
  428. a new Genesis renderer which makes use opf tricks to improve speed. However,
  429. the FM support added in this version slows to Genesis driver to a completely
  430. unusable rate on ARM systems due to the extensive double precision floating
  431. point usage - I need to incorporate a fixed point library for this.
  432.  
  433. Sega Master system emulation is flaky to say the least in this beta.
  434.  
  435. wd179x floppy controller emulation is not present in this release of ARM MESS
  436. - I'm not releasing it until I'm certain it isn't likely to screw up anyone's
  437. floppy discs...
  438.  
  439.  
  440. The next release is likely to coincide with the optimisation drive throughout
  441. the core to benefit performance on ARM-based systems. This should hopefully
  442. significantly improve speed. Recently, floating point activity has increased
  443. within the project to the detrement of ARM-based systems, I will try to
  444. reduce the effects of this as far as I can.
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.                                   
  459.